

<!DOCTYPE html>
<html lang="zh-CN">

<head>
  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no">
  <meta http-equiv="X-UA-Compatible" content="ie=edge">
  <title>Linux基础（一） - cxp&#39;s blog</title>
  <meta name="apple-mobile-web-app-capable" content="yes" />
  <meta name="apple-mobile-web-app-status-bar-style" content="black-translucent">
  <meta name="google" content="notranslate" />

  
  
  <meta name="description" content=" 一、Linux命令行
 1、什么是linux？
Li..."> 
  
  <meta name="author" content="Alex"> 

  
    <link rel="icon" href="/images/icons/favicon-16x16.png" type="image/png" sizes="16x16">
  
  
    <link rel="icon" href="/images/icons/favicon-32x32.png" type="image/png" sizes="32x32">
  
  
    <link rel="apple-touch-icon" href="/images/icons/apple-touch-icon.png" sizes="180x180">
  
  
    <meta rel="mask-icon" href="/images/icons/stun-logo.svg" color="#333333">
  
  
    <meta rel="msapplication-TileImage" content="/images/icons/favicon-144x144.png">
    <meta rel="msapplication-TileColor" content="#000000">
  

  <link rel="stylesheet" href="/css/style.css">

  
  <link rel="stylesheet" href="//at.alicdn.com/t/font_1445822_h1619vhl1nr.css">
  

  
  
  <link rel="stylesheet" href="https://cdn.bootcss.com/fancybox/3.5.7/jquery.fancybox.min.css">
  

  
  
  <link rel="stylesheet" href="https://cdn.bootcss.com/highlight.js/9.18.1/styles/xcode.min.css">
  

  <script>
    var CONFIG = window.CONFIG || {};
    var ZHAOO = window.ZHAOO || {};
    CONFIG = {
      isHome: false,
      fancybox: true,
      pjax: false,
      lazyload: {
        enable: true,
        loadingImage: '',
      },
      donate: {
        enable: true,
        alipay: 'https://pic.izhaoo.com/alipay.jpg',
        wechat: 'https://pic.izhaoo.com/wechat.jpg'
      },
      motto: {
        api: '',
        default: '我在开了灯的床头下，想问问自己的心啊。'
      },
      galleries: {
        enable: true
      },
      fab: {
        enable: true,
        alwaysShow: false
      },
      carrier: {
        enable: true
      },
      daovoice: {
        enable: true
      }
    }
  </script>

  

  
<link rel="alternate" href="/atom.xml" title="cxp's blog" type="application/atom+xml">
</head>
<body class="lock-screen">
  <div class="loading"></div>
  


<nav class="navbar">
  <div class="left"></div>
  <div class="center">Linux基础（一）</div>
  <div class="right">
    <i class="iconfont iconmenu j-navbar-menu"></i>
  </div>
</nav>

  <nav class="menu">
  <div class="menu-wrap">
    <div class="menu-close">
      <i class="iconfont iconbaseline-close-px"></i>
    </div>
    <ul class="menu-content">
      
      
      
      
      <li class="menu-item"><a href="/ " class="underline"> 首页</a></li>
      
      
      
      
      <li class="menu-item"><a href="/galleries " class="underline"> 摄影</a></li>
      
      
      
      
      <li class="menu-item"><a href="/archives " class="underline"> 归档</a></li>
      
      
      
      
      <li class="menu-item"><a href="/tags " class="underline"> 标签</a></li>
      
      
      
      
      <li class="menu-item"><a href="/categories " class="underline"> 分类</a></li>
      
      
      
      
      <li class="menu-item"><a href="/about " class="underline"> 关于</a></li>
      
    </ul>
    <div class="menu-copyright"><p>Powered by <a target="_blank" href="https://hexo.io">Hexo</a>  |  Theme - <a target="_blank" href="https://github.com/izhaoo/hexo-theme-zhaoo">zhaoo</a></p></div>
  </div>
</nav>
  <main id="main">
  <div class="container" id="container">
    <article class="article">
  <div class="wrap">
    <section class="head">
  <img   class="lazyload" data-original="/images/theme/post-image.jpg" src=""  draggable="false">
  <div class="head-mask">
    <h1 class="head-title">Linux基础（一）</h1>
    <div class="head-info">
      <span class="post-info-item"><i class="iconfont iconcalendar"></i>三月 25, 2019</span
        class="post-info-item">
      
      <span class="post-info-item"><i class="iconfont iconfont-size"></i>3383</span>
    </div>
  </div>
</section>
    <section class="main">
      <section class="content">
        <h1 id="一-linux命令行"><a class="markdownIt-Anchor" href="#一-linux命令行"></a> 一、Linux命令行</h1>
<h2 id="1-什么是linux"><a class="markdownIt-Anchor" href="#1-什么是linux"></a> 1、什么是linux？</h2>
<p><code>Linux</code>可分为内核（内存、文件系统、软件、硬件）、GNU工具（运用操作系统的一套标准工具；shell）、图形化桌面环境（文本操作界面演变为图形化操作界面：X Window、KDE、Unity、GNOME）、应用软件.</p>
<p>Linux发行版（精简化定制类型的版本；专业版本，适合不同的办公应用环境）：Debian、Redhat、Centos、Ubuntu、Fedora、OpenSUSE等</p>
<h2 id="2-什么是shell"><a class="markdownIt-Anchor" href="#2-什么是shell"></a> 2、什么是shell？</h2>
<ul>
<li>
<p>Shell:用户与操作系统之间交互工具（壳）</p>
</li>
<li>
<p>发展：CLI（文本界面）–&gt;命令终端仿真器/控制台终端</p>
</li>
<li>
<p>一般在图形化桌面环境中只要从菜单栏就可以找到虚拟控制台终端的入口：Terminal</p>
</li>
</ul>
<h2 id="3-基本shell命令"><a class="markdownIt-Anchor" href="#3-基本shell命令"></a> 3、基本shell命令</h2>
<p>命令提示符$:辅助提示功能</p>
<ul>
<li>help/man 命令名称:查看命令使用手册</li>
<li>cd：遍历目录，.代表当前目录…代表当前目录的父目录</li>
<li>ls：文件目录显示 -F 区分文件和目录 -R递归显示目录 -la，同时还可以根据通配符进行有选择性的显示查看文件和目录信息</li>
<li>touch：创建文件</li>
<li>cp：复制文件，如果选择参数-i则会强制shell进行提示，-R都知道是递归的意思</li>
<li>ln 源文件 链接文件：创建链接文件 -s创建软连接，不加就是创建硬链接，注意区分软和硬的区别；所谓硬就是文件共享iNode编号，是一个文件。软链接只是指向了数据文件</li>
</ul>
<p><img   class="lazyload" data-original="1.png" src=""  alt="" /></p>
<ul>
<li>mv：重命名剪切</li>
<li>rm：删除文件</li>
<li>mkdir：创建目录</li>
<li>rmdir：删除目录，注意是删除空目录。</li>
<li>file：查看文件类型</li>
</ul>
<p><img   class="lazyload" data-original="2.png" src=""  alt="" /></p>
<ul>
<li>cat：查看整个文件 -n显示行号 -b只给文本显示行号 -T禁止显示制表符</li>
<li>more less tail head最为特殊的是head和tail分别是显示文件的前几行和后几行，可以通过参数-n number来控制显示的行数</li>
<li>ps：默认情况下只显示运行在当前控制台下的属于当前用户的进程。 -ef    --forest可以展示嵌套结构</li>
<li>top：实时监控进程</li>
<li>kill pid：杀死进程</li>
<li>killall pid或者进程名称同时支持通配符：结束进程 参数-9强制结束进程</li>
<li>为了检测系统磁盘的使用情况，需要运用命令来帮助管理存储媒体<br />
mount -t type dev directory：挂载媒体到制定目录</li>
<li>umount：删除媒体设备卸载</li>
<li>df -h：显示每个有数据的已挂载的文件系统的磁盘使用情况</li>
<li>du -h：显示当前文件夹下的磁盘使用情况</li>
<li>sort：排序，用来处理文件数据的排序 -n识别数字 -M识别月 -t 指定分隔符 -k指定排序位置</li>
<li>grep：搜索查找数据；-v反向搜索， -n显示行号 可以使用正则表达式</li>
<li>gzip：压缩数据文件 .gz</li>
<li>zip: .zip</li>
<li>bzip2: .bz2</li>
<li>tar:文件归档，常用进行文件打包压缩备份，解压缩。</li>
</ul>
<p><img   class="lazyload" data-original="3.png" src=""  alt="" /></p>
<ul>
<li>jobs：显示后台左右用户的进程（作业）</li>
</ul>
<p><img   class="lazyload" data-original="4.png" src=""  alt="" /></p>
<ul>
<li>coproc：协程，会在后台生成一份shell，并在这个新的shell中运行命令。并且可以和进程列表进行联合使用（命令；）</li>
<li>&amp;：让命令到后台运行，就在命令后面添加$</li>
<li>which:</li>
<li>type:</li>
<li>pwd:</li>
<li>history：显示命令使用记录。命令使用记录被保存在隐藏文件.bash_history中，位于用户的主目录中。bash的命令是先写入内存中，在shell退出时才被写入文件中。</li>
<li>printenv：查看全局变量</li>
<li>echo：回显命令</li>
<li>set：显示某个进程内设置的所有的环境变量</li>
<li>Export：将变量变为全局变量</li>
<li>unset：删除变量</li>
</ul>
<h2 id="4-初识环境变量以及怎么样设置环境变量"><a class="markdownIt-Anchor" href="#4-初识环境变量以及怎么样设置环境变量"></a> 4、初识环境变量以及怎么样设置环境变量</h2>
<p>环境变量：</p>
<ul>
<li>局部环境变量</li>
<li>全局环境变量</li>
</ul>
<p>如何设置环境变量</p>
<p>命令的可执行文件所在目录路径必须在PATH变量中，添加方式：PATH=$PATH:路径;环境变量可以作为数组使用，能够设置多个值，（值1  值2  值3）</p>
<h2 id="5-文件管理及文件权限设置"><a class="markdownIt-Anchor" href="#5-文件管理及文件权限设置"></a> 5、文件管理及文件权限设置</h2>
<p>Linux将文件存储在单个目录结构中–虚拟目录，然后虚拟目录将安装在PC上所有的存储设备的文件路径纳入到单个目录结构中。虚拟目录结构只包含一个称为根目录的基础目录</p>
<p><img   class="lazyload" data-original="5.png" src=""  alt="" /></p>
<ul>
<li>/bin:存放用户级的GNU工具</li>
<li>/boot</li>
<li>/dev：设备目录，创建设备节点</li>
<li>/etc：系统配置文件目录</li>
<li>/root：root用户的主目录</li>
<li>/usr：大量用户级的GNU工具和数据文件都存储在这里</li>
<li>/home：用户的家目录，linux在这里创建用户</li>
<li>/var：用于存放经常变化的文件，比如日志文件。</li>
<li>/lib：库目录，存放系统和应用程序的库文件</li>
<li>/lib4</li>
<li>/media：媒体文件，挂载可移动媒体设备的常用挂载点</li>
<li>/mnt：另一个可移动媒体设备的常用挂载点</li>
<li>/proc：进程目录，存放现有硬件以及当前进程的相关信息</li>
<li>/sbin：管理级别的GNU工具</li>
<li>/tmp</li>
<li>/sys</li>
<li>/srv:服务目录存放本地服务的相关文件</li>
<li>/etc/passwd文件存储用户信息 /etc/shadow存储用户的登录密码</li>
</ul>
<p><img   class="lazyload" data-original="6.png" src=""  alt="" /><br />
<img   class="lazyload" data-original="7.png" src=""  alt="" /></p>
<p>用户添加、修改、删除</p>
<ul>
<li>useradd、userdel、usermod（-l修改用户登录的用户名，-L锁定 -U解除锁定 -p修改账户密码）</li>
<li>passwd：修改已有用户密码</li>
<li>chpasswd从文件中读取用户密码并更新， 大量修改用户密码时可以读取用户和密码对的文件chpasswd &lt; wenjian</li>
<li>chsh：更改用户账户默认登录shell</li>
<li>/etc/group文件</li>
<li>创建、修改、删除用户组</li>
<li>groupadd、groupmod、groupdel</li>
<li>更改权限chmod（ugoa）chown（更改属主）、chgrp（更改属组）</li>
</ul>
<h2 id="6-安装卸载更新程序的步骤"><a class="markdownIt-Anchor" href="#6-安装卸载更新程序的步骤"></a> 6、安装卸载更新程序的步骤</h2>
<p>了解包管理系统（PMS）：</p>
<ul>
<li>Debian下的是dpkg命令 前端工具：apt-get apt-cache aptitude；</li>
<li>Redhat下的是rpm命令 前端工具：yum、urpm、zpper。</li>
</ul>
<p><strong>我们知道一些包的安装是需要一些依赖包的，在安装这类包之前，它的依赖包应该提前安装在本地。</strong></p>
<p>aptitude安装软件包：</p>
<ul>
<li>aptitude search package_name找到特定的包， i已安装 p v可用未安装</li>
<li>aptitude install package_name</li>
<li>aptitude safe_upgrade全部更新</li>
<li>aptitude purge package_name卸载包</li>
</ul>
<p>yum安装包命令：</p>
<ul>
<li>yum list installed，列出已安装软件包</li>
<li>yum provides package_name可以看包归属</li>
<li>yum install package_name：安装包</li>
<li>本地安装localinstall *.rpm</li>
<li>yum update</li>
<li>yum remove package_name：删除软件包保留配置文件和数据文件</li>
<li>yum erase package_name：删除软件包和所有文件。</li>
</ul>
<p>其他步骤：</p>
<ol>
<li>下载安装包 a.gz</li>
<li>解压安装包 tar -zvxf a.gz</li>
<li>进入解压目录 cd b</li>
<li>进行安装 ./configure</li>
<li>进行编译 make	 make install</li>
</ol>
<h2 id="7-常见编辑器及其操作命令"><a class="markdownIt-Anchor" href="#7-常见编辑器及其操作命令"></a> 7、常见编辑器及其操作命令</h2>
<p>常见编辑器：vim、nano、emacs、KWrite、Kate、GNOME编辑器</p>
<p>检查别名alias name</p>
<p>VIM：<br />
插入模式模式、命令模式、末行模式<br />
移动：</p>
<ul>
<li>k↑</li>
<li>j↓</li>
<li>h←</li>
<li>l→</li>
</ul>
<p>复制、删除、剪切、粘贴：</p>
<ul>
<li>yw复制单词 y$复制到行尾dd删除 p粘贴 .重复上一操作</li>
<li>G移动到行首</li>
<li>gg光标移动到首行</li>
<li>wq保存退出</li>
<li>q！取消修改退出</li>
<li>zz保存退出</li>
</ul>
<h2 id="8-网络配置方法"><a class="markdownIt-Anchor" href="#8-网络配置方法"></a> 8、网络配置方法</h2>
<p><a href="https://blog.csdn.net/rzc666/article/details/50491305" target="_blank" rel="noopener" title="【参考】网络配置方法">https://blog.csdn.net/rzc666/article/details/50491305</a></p>
<h1 id="二-shell脚本编程基础"><a class="markdownIt-Anchor" href="#二-shell脚本编程基础"></a> 二、Shell脚本编程基础</h1>
<p>1、构建基本脚本</p>
<p>2、使用结构化命令</p>
<p>3、处理用户输入</p>
<p>4、呈现数据</p>
<p>5、控制脚本</p>
<h1 id="三-高级shell脚本编程"><a class="markdownIt-Anchor" href="#三-高级shell脚本编程"></a> 三、 高级shell脚本编程</h1>
<p>1、创建函数</p>
<p>2、图形化界面进行脚本编程</p>
<p>3、正则表达式</p>
<p>4、Sed、awk</p>
<h1 id="四-脚本实例"><a class="markdownIt-Anchor" href="#四-脚本实例"></a> 四、 脚本实例</h1>
<p>1、简单脚本工具</p>
<p>2、创建与数据库和web以及电子邮件有关的脚本</p>

      </section>
      <section class="extra">
        
        <ul class="copyright">
  
  <li><strong>本文作者：</strong>Alex</li>
  <li><strong>本文链接：</strong><a href="https://cxpeng.cn/archives/843f592a.html">https://cxpeng.cn/archives/843f592a.html</a></li>
  <li><strong>版权声明：</strong>本博客所有文章均采用<a href="https://creativecommons.org/licenses/by-nc-sa/4.0/deed.zh"
      rel="external nofollow" target="_blank"> BY-NC-SA </a>许可协议，转载请注明出处！</li>
  
</ul>
        
        
        <section class="donate">
  <div class="qrcode">
    <img   class="lazyload" data-original="https://pic.izhaoo.com/alipay.jpg" src="" >
  </div>
  <div class="icon">
    <a href="javascript:;" target="_blank" rel="noopener" id="alipay"><i class="iconfont iconalipay"></i></a>
    <a href="javascript:;" target="_blank" rel="noopener" id="wechat"><i class="iconfont iconwechat-fill"></i></a>
  </div>
</section>
        
        
  <ul class="tag-list" itemprop="keywords"><li class="tag-list-item"><a class="tag-list-link" href="/tags/Linux/" rel="tag">Linux</a></li></ul>

        
<nav class="nav">
  
    <a href="/archives/42250562.html"><i class="iconfont iconleft"></i>MySQL学习（一）</a>
  
  
    <a href="/archives/9c2ffa7.html">数据分析与挖掘（一）<i class="iconfont iconright"></i></a>
  
</nav>

      </section>
      
      <section class="comments">
  
  <div class="btn" id="comments-btn">查看评论</div>
  
  
</section>
      
    </section>
  </div>
</article>
  </div>
</main>
  <footer class="footer">
  <div class="footer-social">
    
    
    
    
    
    <a href="tencent://message/?Menu=yes&uin=894519210 " target="_blank" onMouseOver="this.style.color= '#12B7F5'"
      onMouseOut="this.style.color='#33333D'">
      <i class="iconfont footer-social-item  iconQQ "></i>
    </a>
    
    
    
    
    
    <a href="javascript:; " target="_blank" onMouseOver="this.style.color= '#09BB07'"
      onMouseOut="this.style.color='#33333D'">
      <i class="iconfont footer-social-item  iconwechat-fill "></i>
    </a>
    
    
    
    
    
    <a href="https://www.instagram.com/izhaoo/ " target="_blank" onMouseOver="this.style.color= '#DA2E76'"
      onMouseOut="this.style.color='#33333D'">
      <i class="iconfont footer-social-item  iconinstagram "></i>
    </a>
    
    
    
    
    
    <a href="https://github.com/izhaoo " target="_blank" onMouseOver="this.style.color= '#24292E'"
      onMouseOut="this.style.color='#33333D'">
      <i class="iconfont footer-social-item  icongithub-fill "></i>
    </a>
    
    
    
    
    
    <a href="mailto:izhaoo@163.com " target="_blank" onMouseOver="this.style.color='#FFBE5B'"
      onMouseOut="this.style.color='#33333D'">
      <i class="iconfont footer-social-item  iconmail"></i>
    </a>
    
  </div>
  <div class="footer-copyright"><p>Powered by <a target="_blank" href="https://hexo.io">Hexo</a>  |  Theme - <a target="_blank" href="https://github.com/izhaoo/hexo-theme-zhaoo">zhaoo</a></p></div>
</footer>
  
      <div class="fab fab-plus">
    <i class="iconfont iconplus"></i>
  </div>
  
  <div class="fab fab-daovoice">
    <i class="iconfont iconcomment"></i>
  </div>
  
  <div class="fab fab-up">
    <i class="iconfont iconcaret-up"></i>
  </div>
  
<script type="text/x-mathjax-config">
    MathJax.Hub.Config({
        tex2jax: {
            inlineMath: [ ["$","$"], ["\\(","\\)"] ],
            skipTags: ['script', 'noscript', 'style', 'textarea', 'pre', 'code'],
            processEscapes: true
        }
    });
    MathJax.Hub.Queue(function() {
        var all = MathJax.Hub.getAllJax();
        for (var i = 0; i < all.length; ++i)
            all[i].SourceElement().parentNode.className += ' has-jax';
    });
</script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.1/MathJax.js?config=TeX-MML-AM_CHTML"></script>
</body>

<script src="https://cdn.bootcss.com/jquery/3.4.1/jquery.min.js"></script>




<script src="https://cdn.bootcdn.net/ajax/libs/jquery.lazyload/1.9.1/jquery.lazyload.min.js"></script>




<script src="https://cdn.bootcss.com/fancybox/3.5.7/jquery.fancybox.min.js"></script>




<script src="/js/utils.js"></script>
<script src="/js/modules.js"></script>
<script src="/js/zui.js"></script>
<script src="/js/script.js"></script>




<script>
  (function (i, s, o, g, r, a, m) {
    i["DaoVoiceObject"] = r;
    i[r] = i[r] || function () {
      (i[r].q = i[r].q || []).push(arguments)
    }, i[r].l = 1 * new Date();
    a = s.createElement(o), m = s.getElementsByTagName(o)[0];
    a.async = 1;
    a.src = g;
    a.charset = "utf-8";
    m.parentNode.insertBefore(a, m)
  })(window, document, "script", ('https:' == document.location.protocol ? 'https:' : 'http:') +
    "//widget.daovoice.io/widget/0f81ff2f.js", "daovoice")
  daovoice('init', {
    app_id: "abcdefg"
  }, {
    launcher: {
      disableLauncherIcon: true,
    },
  });
  daovoice('update');
</script>



<script>
  (function () {
    var bp = document.createElement('script');
    var curProtocol = window.location.protocol.split(':')[0];
    if (curProtocol === 'https') {
      bp.src = 'https://zz.bdstatic.com/linksubmit/push.js';
    } else {
      bp.src = 'http://push.zhanzhang.baidu.com/push.js';
    }
    var s = document.getElementsByTagName("script")[0];
    s.parentNode.insertBefore(bp, s);
  })();
</script>


<script>
  var _hmt = _hmt || [];
  (function () {
    var hm = document.createElement("script");
    hm.src = "https://hm.baidu.com/hm.js?4c204d8bc027a0455b5fc642ac334ca8";
    var s = document.getElementsByTagName("script")[0];
    s.parentNode.insertBefore(hm, s);
  })();
</script>










</html>